package org.uk.splitsbrowser.client.presenter;

import org.uk.splitsbrowser.shared.User;

import com.google.gwt.user.client.rpc.AsyncCallback;

public interface UserServiceAsync {
	
	public interface OEventServiceAsync {

		void saveUser(User user, AsyncCallback<String> callBack);
		
		void newUser(User user, AsyncCallback<String> callBack);
		
		void deleteUser(String id, AsyncCallback<String> callBack);
		
		void queryUser(String queryString, int offset, int count, AsyncCallback<User[] > callBack);

		void queryUser(String userEmail, AsyncCallback<User> callBack);
		
		void getUser(String id, AsyncCallback<User> callBack);
	
		void logon(User user, String password, AsyncCallback<String> callBack);
			
		void logoff(AsyncCallback<String> callBack);

		void logoff(String userEmail, AsyncCallback<String> callBack);

	}

}
